package z;
//package pagerank;
//
//import java.util.Map;
//import java.util.TreeMap;
//
//public class SparseMatrix<Expertise> {
//    private Expertise defaultValue;
//    private int m;
//    private int n;
//    private Map<Integer, Expertise> data = new TreeMap<Integer, Expertise>();
//    /// create a new matrix with m rows and n columns
//    public SparseMatrix(int m, int n, Expertise defaultValue) {
//        this.m = m;
//        this.n = n;
//        this.defaultValue = defaultValue;
//    }
//    /// set value at [i,j] (row, col)
//    public void setValueAt(int i, int j, Expertise value) {
//        if (i >= m || j >= n || i < 0 || j < 0) 
//            throw new IllegalArgumentException(
//                    "index (" + i + ", " +j +") out of bounds");        
//        data.put(i * n + j, value);
//    }
//    /// retrieve value at [i,j] (row, col)
//    public <T> Expertise getValueAt(int i, int j) {
//        if (i >= m || j >= n || i < 0 || j < 0) 
//            throw new IllegalArgumentException(
//                    "index (" + i + ", " +j +") out of bounds");
//        T value = data.get(i * n + j);
//        return value != null ? value : defaultValue;
//    }
//}